home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_09_03 / 9n03127b < prev    next >
Text File  |  1991-01-14  |  455b  |  25 lines

  1.  
  2. /* given signal index or name as string, */
  3. /* returns signal index or -1 if bad arg */
  4. string_to_signal(s)
  5. char *s;
  6. {
  7.     int sig;
  8.     char *name;
  9.  
  10.     /* try interpreting as an integer */
  11.     if (1 == sscanf(s,"%d",&sig)) return(sig);
  12.  
  13.     /* try interpreting as a string */
  14.     for (sig=0;sig<NSIG;sig++) {
  15.         name = signals[sig].name;
  16.         if (SIG_RESERVED(sig)) name++;
  17.         if (streq(s,name) || streq(s,name+3))
  18.             return(sig);
  19.     }
  20.     return(-1);
  21. }
  22.  
  23.  
  24.  
  25.